home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / DEVELOP.ZIP / FIDO.DOC < prev    next >
Text File  |  1996-01-03  |  9KB  |  323 lines

  1.               File format for All FIDO data files
  2.  
  3. WARNING: This document is subject to change at any time.
  4.  
  5. ================================================================================
  6.  
  7. The data types used here are as follows
  8.  
  9. int        2 byte signed         integer
  10. unsigned int    2 byte unsigned      integer
  11. long        4 byte signed    long integer
  12. unsigned long    4 byte unsigned long integer
  13. char        1 byte character
  14.  
  15.  
  16. PCBFIDO.CFG
  17. -----------
  18.  
  19. First two bytes are an unsigned integer file version. PCBoard 15.22 data files
  20. have a version number of 3, where as 15.21 data files have a version number
  21. of 2.
  22.  
  23. The rest of the file contains three data structures.
  24.  
  25. Here is a list of all FIDO information stored in PCBFIDO.CFG
  26. - Directory Information for FIDO
  27. - EMSI Profile
  28. - Freq Restrictions
  29. - Archivers used by FIDO
  30.  
  31. So this file contains a data structure for each of the four items stored
  32. in the same order. The structure is as follows.
  33.  
  34. Corresponsing PCBsetup screen:
  35. pcbsetup | fido configuration | file and directory configuration
  36.  
  37. typedef struct
  38. {
  39.   char        incoming_packets[66];
  40.   char        outgoing_packets[66];
  41.   char        outgoing_msg[66];
  42.   char        bad_packets[66];
  43.   char        nodelist_path[66];
  44.   char        work_directory[66];
  45.   char        passthrough[66];       // Passthru files
  46.   char        securemail[66];        // Secure netmail
  47.   char        messages[66];           // response Messages
  48.  
  49. } DIRECTORIES;
  50.  
  51. Corresponsing PCBsetup screen:
  52. pcbsetup | fido configuration | EMSI Profile
  53.  
  54. typedef struct
  55. {
  56.   char    BBS_Name[60];
  57.   char    City[30];
  58.   char    Sysop[30];
  59.   char    Phone[50];
  60.   char    Baud[10];
  61.   char    Flags[50];
  62. } EMSI_DATA;
  63.  
  64. Corresponding PCBsetup screen:
  65. pcbsetup | fido configuration | FREQ restrictions
  66.  
  67. typedef struct
  68. {
  69.   unsigned int      stime;
  70.   unsigned int      dtime;
  71.   unsigned long   sbytes;
  72.   unsigned long   dbytes;
  73.   char          listed;
  74.   unsigned int      baud;
  75. } FREQ_INFO;
  76.  
  77. Corresponsing PCBsetup screen:
  78. pcbsetup | fido configuration | Archiver Configuration
  79.  
  80. typedef struct
  81. {
  82.   char        archivers[4][66];
  83.   char        archiver_switches[4][80];
  84.   char        unarchivers[4][66];
  85.   char        unarchiver_switches[4][80];
  86. } ARCHIVERS;
  87.  
  88.  
  89. -------------------------------------------------------------------------------
  90.  
  91. This file contains all areatag data and other conference specific data.
  92.  
  93. Corresponsing PCBsetup screen:
  94. pcbsetup | Confrences | third confrence configuration screen
  95.  
  96. AREAS.DAT
  97. ---------
  98.  
  99. Byte offset    type               datum
  100.  
  101. 0-1        unsigned short int       file version (15.22 = 3)
  102. 2-3        unsigned short int       PCBoard Conference number
  103. 4-63        char               Area Tag
  104. 64-65        unsigned short int       Aka record index (Record number for AKAS.DAT)
  105. 66-67        unsigned short int       Origin record index (Record number in ORIGINS.DAT)
  106. 68        char               highAscii setting
  107. 69-70        unsigned short int       Julian date for last activity in echo (import/expo
  108. 71        char               Allow Private messages (boolean)
  109. 72        char               Allow File Attach      (boolean)
  110. 73-82        char               Reserved
  111.  
  112.  
  113. -------------------------------------------------------------------------------
  114.  
  115. This file contains AKA info as well as information on how the aka should be used.
  116.  
  117.  
  118. Corresponsing PCBsetup screen:
  119. pcbsetup | fido configuration | system address
  120.  
  121. AKAS.DAT
  122. --------
  123.  
  124.  
  125. Byte offset    type               datum
  126.  
  127. 0-1        unsigned short           file version (15.22 = 3)
  128. 2-3        unsigned short           zone
  129. 4-5        unsigned short           net
  130. 6-7        unsigned short           node
  131. 8-9        unsigned short           point
  132. 10        char               Primary address     (Boolean)
  133. 11        char               InSeenBy         (Boolean)
  134. 12        char               Present in handshake  (Boolean)
  135. 13        char               Up/Downlink         (Boolean)
  136. 14-83        char               Conference Range
  137. 84-93        char               Reserved
  138.  
  139. -------------------------------------------------------------------------------
  140.  
  141.  
  142. FIDOQUEUE.DAT
  143. -------------
  144.  
  145. The record structure for this file has not changed since version 15.21. However,
  146. the first 128 byte header has been replaced with a 2 byte file version. Also
  147. note that deleted records are packed out as soon as they are deleted so you
  148. are less likely to find empty records.
  149.  
  150. Byte Offset    type             datum
  151.  
  152. 0-1         unsigned short      file version (15.22 = 3)
  153. 2-82         char             filename
  154. 83-108         char             nodestr (fido address)
  155. 109-110      unsigned short      flag (CRASH HOLD)
  156. 111-112      unsigned short      failed connect count
  157. 113         char             Read only flag
  158. 114-132      char             reserved
  159.  
  160.  
  161. typedef struct
  162. {
  163.   char filename[80];            /* Name of outgoing file. Full path  */
  164.   char nodestr[25];            /* Node to receive the file.         */
  165.   int  flag;                /* Attribute (Kill-sent, crash,etc.) */
  166.   int  failedConnects;            /* Number of failed connections      */
  167.   bool readOnly;            /* Can this entry be modified by event processing */
  168.   char reserved[18];            /* Reserved                 */
  169. } QUEUE_RECORD;
  170.  
  171.  
  172. Here are the flags used in the flag field
  173.  
  174.  
  175. Q_POLL          1      /* Entry is a POLL                 */
  176. Q_FILEREQ     2      /* Entry is a file request
  177. Q_KILLSENT    4      /* file is deleted after it is sent (When queue record is removed)
  178. Q_HOLD          8      /* Entry is marked as HOLD
  179. Q_CRASH       16     /* Entry is marked as CRASH
  180. Q_NORMAL      32     /* Entry is marked as NORMAL
  181. Q_POLLED      64     /* Entry is a POLL that has already executed
  182. Q_FILESEND    128     /* Entry has file to be sent
  183. Q_OUTBOUND    256     /* Entry will go out with next call
  184. Q_FREQED      1024     /* Entry is FREQ that has been completed
  185.  
  186.  
  187. If an entry is marked as OUTBOUND then pcboard will send it out at the next
  188. dial sequence. Those marked as NORMAL will only go out when an event allows
  189. it. An entry marked as CRASH must also have the OUTBOUND flag set.
  190. -------------------------------------------------------------------------------
  191.  
  192. This file contains the file request deny list.
  193.  
  194. Corresponsing PCBsetup screen:
  195. pcbsetup | fido configuration | freq deny nodelist
  196.  
  197. FREQDENY.DAT
  198. -----------
  199.  
  200.  
  201. Byte offset    type               datum
  202.  
  203. 0-1        unsigned short           file version (15.22 = 3)
  204. 2-3        unsigned short           zone
  205. 4-5        unsigned short           net
  206. 6-7        unsigned short           node
  207. 8-9        unsigned short           point
  208. 10        char               Primary address     (Boolean)
  209. 11        char               InSeenBy         (Boolean)
  210. 12        char               Present in handshake  (Boolean)
  211. 13        char               Up/Downlink         (Boolean)
  212. 14-83        char               Conference Range
  213. 84-93        char               Reserved
  214.  
  215. ------------------------------------------------------------------------------
  216. This file contains paths and passwords for freqable files.
  217.  
  218. Corresponsing PCBsetup screen:
  219. pcbsetup | fido configuration | freq path list
  220.  
  221. FREQPATH.DAT
  222. ------------
  223.  
  224. Byte offset    type               datum
  225.  
  226. 0-1        unsigned short           file version (15.22 = 3)
  227. 2-67        char               file path
  228. 68-77        char               password
  229. 78-87        char               reserved
  230.  
  231. -------------------------------------------------------------------------------
  232.  
  233. This file contains magic names and password info for file requests
  234.  
  235.  
  236. Corresponsing PCBsetup screen:
  237. pcbsetup | fido configuration | freq magic names
  238.  
  239. MAGICNAM.DAT
  240. -------------
  241.  
  242. Byte offset    type               datum
  243.  
  244. 0-1        unsigned short           file version (15.22 = 3)
  245. 2-22        char               Magic Name
  246. 23-89        char               path/filename
  247. 90-99        char               password
  248. 100-109     char               reserved
  249.  
  250. ------------------------------------------------------------------------------
  251.  
  252. This file contains node specific archiver information.
  253.  
  254.  
  255. Corresponsing PCBsetup screen:
  256. pcbsetup | fido configuration | node configuration
  257.  
  258. NODEARC.DAT
  259. -----------
  260.  
  261. Byte offset    type               datum
  262.  
  263. 0-1        unsigned short           file version (15.22 = 3)
  264. 2-3        unsigned short           zone
  265. 4-5        unsigned short           net
  266. 6-7        unsigned short           node
  267. 8-9        unsigned short           point
  268. 10-11        unsigned short           packet type
  269. 12-13        signed     short int       Archiver_index
  270. 14-23        char               reserved
  271.  
  272. -----------------------------------------------------------------------------
  273. This file contains nodelist filename and location data.
  274.  
  275. Corresponsing PCBsetup screen:
  276. pcbsetup | fido configuration | nodelist configuration
  277.  
  278. NODELIST.DAT
  279. ------------
  280.  
  281. Byte offset    type               datum
  282.  
  283. 0-1        unsigned short           file version (15.22 = 3)
  284. 2-81        char               Base Name
  285. 82-90        char               Diff Name
  286. 91-92        signed int           Last compile
  287. 93-102        char               compile
  288.  
  289. ------------------------------------------------------------------------------
  290.  
  291. This file contains origin line data.
  292.  
  293.  
  294. Corresponsing PCBsetup screen:
  295. pcbsetup | fido configuration | origin confrence range
  296.  
  297. ORIGINS.DAT
  298. -----------
  299.  
  300. Byte offset    type               datum
  301.  
  302. 0-1        unsigned short           file version (15.22 = 3)
  303. 2-71        char               Origin
  304. 72-141        char               Conference Range
  305. 142-151     char               reserved
  306. -----------------------------------------------------------------------------
  307.  
  308. This file contains the phone translation table.
  309.  
  310. Corresponsing PCBsetup screen:
  311. pcbsetup | fido configuration | phone number translation
  312.  
  313. PHONEX.DAT
  314. ----------
  315.  
  316. Byte offset    type               datum
  317.  
  318. 0-1        unsigned short           file version (15.22 = 3)
  319. 2-31        char               in
  320. 32-63        char               out
  321. 64-73        char               reserved
  322. ----------------------------------------------------------------------------
  323.